PteroEngine II - editor

PteroEngine II Editor is a tool with which you can create scenes for Vietcong.

IMPORTANT NOTE:
This beta version of the user editor is built upon PteroEngine II v 1.35, which means that the editor is not compatible (in its network code) with the last Vietcong Patch 1.30.
Also, Vietcong v 1.30 did not support some functions that have been added to the editor, which means that the missions created in this version of editor won't run in VC v1.30.

Together with Fist Alpha and the next Vietcong patch ( probably v1.40) the new version of this Editor will be released too. That new version will be fully compatible with this version 1.35 and will support exporting of scenes for FA and v1.40.

This version fully supports only creation of Multiplayer scenes.

If you have any questions regarding editor or model prepration in 3ds max, please write us to: editor@pterodon.com. Have fun!

Keyboard Shortcuts
Modeling in 3DS MAX 5.1
Working With Editor


Keyboard Shortcuts

Selecting and transforming objects
` | quick selection
C | scale mode
M | move mode
Q | switches to sub-entity selection mode
R | rotate mode
S | select mode
S / ` +ctrl | add to selection
S / ` +shift | subtract from selection

Dialogs for manipulating with objects in the scene
F | freeze dialog for objects in the scene
F +shift | un-freeze dialog for objects in the scene
H+ctrl | opens the dialog where visibility of object types is set
Home | object selection dialog
Home +shift | object hide dialog
Home +ctrl | object un-hide dialog

Function keys
F1 | save Level.tga
F2 | save screenshot
F3 | toggles on/off drawing of texture #1 (editor only)
F3 +ctrl | toggles on/off drawing of texture #2 (editor only)
F3 +shift | toggles on/off drawing of texture #3 (editor only)
F4 | toggles on/off drawing of reflection texture (editing only)
F4 +shift | toggles on/off drawing of water collision scene (in-game only)
F5 | toggles between drawing/hiding of objects (in-game only)
F5 +ctrl | toggles between drawing/hiding of "grow" type objects (in-game only)
F5 +shift | toggles between drawing/hiding of characters (in-game only)
F6 | toggles between drawing/hiding of collision objects (in-game only)
F6 +ctrl | toggles between drawing/hiding of rain (in-game only)
F6 +shift | toggles between drawing/hiding of FPV (1st person view) weapon (in-game only)
F7 | toggles between drawing/hiding of lightmaps (editor only)
F7 +ctrl | fog on/off toggle (editor only)
F8 | toggles between game and editor modes
F11 +ctrl | texture filtering toggle (editor only)
F11 +ctrl | mipmapping on/off toggle (editor only)
F12 +ctrl | opens the Script Debug window (in-game only)
F12 +shift | displays player properties (in-game only)

Additional hotkeys
1-0 | speed of object transformations
A | associate an object with a sector
C | change camera view (in-game only)
D | duplicate selected
Del | delete selected
E | select current sector
E+ctrl | editor settings dialog
End | pan and rotate camera to the selected object
End +ctrl | rotate camera to the selected object
End +shift | view selected from top
Enter | open Properties tab
Enter num. | Lock camera position for rendering
G +ctrl | toggles AI auxiliary grid
H | hide selected
H +shift | unhide hidden objects
I+ctrl | toggles display of profile info
Insert | Insert a Dummy object and link all selected objects to it
K | open the Database tab
L | auxiliary light toggle (editor only)
L +shift | permit flashlight in the game (development only)
N+ctrl | new scene
O | Placement tool ("placeator")
O+ctrl | open scene
P | link
R+ctrl | reload textures
S+ctrl | save current scene
S +shift | look into the sun
T | parachute
V+ctrl | auxiliary visibility toggle (editor only)
W | wireframe display toggle
W +ctrl | waypoint connections display toggle
Y+ctrl | one step ahead in history
Z+ctrl | one step back in history


EAX presets

0 | standard
1 | light echo
2 | mountains 1
3 | narrow space
6 | basement
7 | dirt tunnel
8 | mountains 2
11 | jungle
12 | canyon
13 | tunnel 1
14 | tunnel 2
15 | tunnel 3
16 | tunnel 4
20 | water well
23 | metal plated room
23 | room

Special Object - Sound Switch


Bitmap requirements

The supported bitmap file formats are:
*.dds
*.tga
*.bmp

You must use convention of power of two for the bitmap size. Minimal size of the bitmap is 4x4 and maximal 2048x2048 points.
These restriction is due to the use of DirectX technology. This is the reason why you cannot use textures with size for example 640x480.
Possible sizes of textures are:
4x4, 4x8, 4x16, 4x32, 4x64, 4x128, 4x256, 4x512, 4x1024, 4x2048
8x8, 8x16, 8x32, 8x64, 8x128, 8x256, 8x512, 8x1024, 8x2048
16x16, 16x32, 16x64, 16x128, 16x256, 16x512, 16x1024, 16x2048
32x32, 32x64, 32x128, 32x256, 32x512, 32x1024, 32x2048
64x64, 64x128, 64x256, 64x512, 64x1024, 64x2048
128x128, 128x256, 128x512, 128x1024, 128x2048
256x256, 256x512, 256x1024, 256x2048
512x512, 512x1024, 512x2048
1024x1024, 1024x2048
2048x2048

The *.bes files do NOT contain path to the corresponding textures. the textures should be stored in:

\[game directory]\levels\[adresář mapy]\tex

When the engine loads textures, it gives the *.dds files priority. This means that if there are two textures of the same name, one in *.dds format and the other in, say, *.bmp format, the engine uses the *.dds.

Using texturing material


Multiplayer mode list

MP game types

ATG | Assaul team game
CooP | Cooperative game
CTF | Capture the flag
DM | Deathmatch
LMS | Last man standing
RW | Real war
TDM | Team deathmatch
TT | Turn Table

MP game scripts

atg_killall_u.c | Assaul team game, the team that survives wins
atg_pilot_u.c | Assaul team game, U.S. pilot must make it to the landing zone (LZ)
atg_usbomb_u.c | Assaul team game, U.S. plant the bomb, VC defends
atg_vcbomb_u.c | Assaul team game, VC plants the bomb, U.S. defend
ctf_u.c | Capture the flag
dm_u.c | Deathmatch
rw_u.c | Real war
tdm_u.c | Team deathmatch

How to define an MP game
Special Object - MP helper
Special Object - Recovery point
Special Object - Spectator camera


Modeling in 3DS MAX 5.1

Exporting *.bes Files
Creating Collicion Objects
Creating the Effect Spheres
Creating the Level of Detail (LOD) Structure
User Defined Object Properties
Using PteroMaterial


Creating Collicion Objects

PteroEngine II distinguishes three collision object shape types:
1. automatic
2. defined
3. auxiliary

Automatic collisions

These collisions are created when Phy_colshp and Phy_misshp are set to 1 to 3 or if PteroMat has a collision material assigned.

After the engine loads such model, it computes collision shapes for player movement and bullets.

If PteroMat has a collision material assigned, both created shapes are identical with the actual graphic shape. Here, it is not necessary to set Phy_colshp or Phy_misshp to 2.

For small objects, such as glasses or bottles, we recommend to set Phy_colshp or Phy_misshp to 3. The computation of this collision shape is much faster than regular collisions.
If Phy_colshp or Phy_misshp are set to 1 or 3 it is necessary to assign Phy_defmat.

Example:

Defined collisions

Object names of defined collision shapes must begin with ^K, ^SF or ^SK.
It is possible to combine automatic and defined collisions. For instance, if you want to create defined collision shape for player, link the ^K object to the main object. The collision shape for bullets will be then automatically created by the engine (but you have to define collision material in PteroMat).

Collisions are created for the main objects only, not for its LoD objects.

Apply the collision materials to them using PteroMat.

We recommend to create defined collisions for player. This improves performance and speed of the game quite a bit.

Auxiliary collisions

The object names of auxiliary collision shapes must begin with the '!' character (exclamation mark).

Apply the collision materials to them using PteroMat.

Naming conventions for defined collision shapes
^K + text | shape for player
^SF + text | shape for bullets
^SK + text | for dummy only: defines sphere contained in dummy
! + text | auxiliary collision

Collisions - MAX
Using Collision Material


Creating the Effect Spheres

Effect spheres serve as a special collision system. They are used mostly for plants. The spheres make it possible to determine how much a plant or a shrub will slow the player down and other collision properties.
We recommend that you use this system, because it is much faster that the regular collision system.

An effect sphere is created as a sphere within a dummy object.
It cannot be scaled non-uniformly.
The dummy does not need to be linked to anything.

Effect sphere is created using a Dummy object, which name consists of:

@[material][slowdown]- + text

material | two capital letters for material type
slowdown | number between 0-9 0 = no slowdown 9 = almost stops the player

For example, if we use a collision material JL (leaves), and set slowdown to 3, the name will be @JL3-


Exporting *.bes Files

Before you begin with export, it is necessary to convert all objects into "Editable Mesh", and perform the "Reset XForm" action. "Reset XForm" is found in the Command Panel, Utilities tab. As this is a non-reversible action, we recommend to save the scene before exporting.

menu | : file / export... / bes
menu | : file / export selected... / bes (*.bes)

Name | name of the computer and user - cannot be changed
Comment | a comment that can be read in the editor in the Database tab
Resmooth single objects | re-calculation of neighboring normals - not necessary to use
Smooth whole scene | on/off switch for the Smooth parameter in the User Defined object properties
Distinguish LODs | this is used for character export when 'Smooth whole scene' is on

panel : utilities / more... / BES export

Export! | runs the export routine
Run Engine | launches PteroEngine - correct path to it must be set
Resmooth objects | re-calculation of neighboring normals - not necessary to use
Smooth scene | on/off switch for the Smooth parameter in the User Defined object properties
Distinguish LODs | this is used for character export when 'Smooth whole scene' is on
Export selected only | exports only selected objects
Comment | a comment that can be read in the editor in the Database tab
Export filename | entire path with the *.bes name included
Path to engine | entire path to PteroEngine II
Run engine | this switch allows for automatic engine launch and opening the exported *.bes object in it


Creating the Level of Detail (LOD) Structure

Level of Detail (LOD) is used for decreasing the amount of graphic detail which significantly speeds up rendering of the game.

The auxiliary objects that function as LODs to the main object must be linked to the main object according to the graph below which shows a main object with two LOD objects:

The name of each LOD object must begin with the '>' character.
The position of LOD objects in relation to the main object is determined by their pivots.
We recommend to use 1-3 LODs per object.

The main object must have the Lod (or LastLodAlpha) parameters assigned.
The number of Lod parameters is the number of LOD objects plus one.

When setting the Level of Detail, it is also possible to use the AlphaMult parameter.

Examples of syntax:

This example shows a case, where there is a main object with two LODs. The first one is switched on when viewed from 25m distance (and further), the second one in the 50m distance. The last Lod parameter is set to -1 which means that the last LOD will be displayed until it is within the scene's visibility range.

In this example, the last Lod parameter is set to 75. This means that the object will not be drawn when further than 75m.

Here, we have added a parameter named LastLodAlpha. This means that the last LOD will disappear gradually by becoming more increasingly transparent. Again, it will cease to be drawn entirely when further than 75m.

AlphaMult, ClipDist, Dol, DolNoAlpha
LastLodAlpha, Lod
Dummy object in LOD Structure


Dummy object in LOD Structure

A Dummy object can be added to the LOD structure in order to make it possible to switch LODs of more mutually independent objects at the same moment.

The main objects must be linked to a Dummy as shown below. The LOD objects are linked to this dummy, too.

This example shows a Dummy named "House", to which graphic objects "House - roof" and "House - wall" are linked. In the User defined properties of the Dummy, there is the following definition:

This definition would normally belong to the main object of a regular LOD hierarchy.
The objects named '>House LOD01' and '>House LOD02' are LOD objects that will be in the defined distance switched to objects without the '>' character in the name.

This example shows using a Dummy as both the main and the LOD object. Even a Dummy's LOD can act as a parent to a number of graphical objects.

Creating the Level of Detail (LOD) Structure


User Defined Object Properties

Quad menu : properties / user defined

These parameters serve for setting an object's properties in editor and game. Here, you can set parameters of lighting, physics etc.

AlphaMult, ClipDist, Dol, DolNoAlpha
Collisions
LastLodAlpha, Lod
Lighting, Smooth, TexMove, TexPing, Wobble
Ocluder, Portal, Sector
Physics


AlphaMult, ClipDist, Dol, DolNoAlpha - MAX

Quad menu : properties / user defined

AlphaMult= val

- multiplier of transparency distance
val range = 0 až 1
default = 0.8

ClipDist= dist

- sets the object's distance from the camera in meters where it ceases to be drawn including all its subordinate hierarchy
- we recommend to use this parameter for display/scene optimization
- it is possible to use a Dummy for optimization purposes even in 3DS MAX, just like in the editor.

Dol= dist

- this parameter sets the max. distance between object and camera, in which the object is still fully visible

DolNoAlpha= 1

- the switch for disappearing of an object with the Dol parameter without using transparency

Special Object - Dummy


Collisions - MAX

Quad menu : properties / user defined

Phy_colshp= val
- collision shape type for player, AI and physics
0 | a linked shape - automatically set, if the export finds a ^K object
1 | creates a bounding box around object
2 | creates collisions from the graphic shape: automatically set, when collision material is set in PteroMat and 0 has not been set yet
3 | creates a bounding sphere around the object

Phy_misshp= val
- collision shape type for bullets
0 | a linked shape - automatically set, if the export finds a ^SF or ^SK object
1 | creates a bounding box around object
2 | creates collisions from the graphic shape: automatically set, when collision material is set in PteroMat and 0 has not been set yet
3 | creates a bounding sphere around the object

Phy_defmat= mat
- collision material type
- it is necessary to fillthis in only when Phy_colshp and Phy_misshp are set to 1 or 3

Phy_WPObstacle= 1
- switch for cancellation of waypoint connection with an object

Creating Collicion Objects


LastLodAlpha, Lod - MAX

Quad menu : properties / user defined

LastLodAlpha= 1
- switches gradual disappearance of last LoD through transparency.

Lod= dist
- this enables LoD switching based on the distance of objects from the camera
dist distance, in which object switches to its next LoD, if dist=-1, the last LoD is never turned off

Creating the Level of Detail (LOD) Structure


Lighting, Smooth, TexMove, TexPing, Wobble - MAX

Quad menu : properties / user defined

Lighting= ambient_mult, directional_mult, r, g, b

- all of the object's vertices have the same lighting
- this lighting is calculated as the multiple of ambient + multiple of directional light+color
- this is necessary to assign for Grow type objects
ambient_mult | multiplier of sector's ambient light
directional_mult | multiplier of sector's directional light
r, g, b | color elements of light

Smooth= angle, group1, ..., groupN

- this is used for smoothing of shared edges of different objects with the same group index
- the calculation is carried out when exporting into the *.bes format
angle | angle for normal smoothing
group1, ..., groupN | object groups

TexMove= tex_id, delta_u, delta_v

- texture shift on the object
- can be set for individual textures
tex_id | texture IDs: 0 - diffuse #1 1 - diffuse #2 2 - diffuse #3
delta_u, delta_v | shift along u, v axes per second

TexPing= tex_id, u_time, u_min, u_max, u_soft, v_time, v_min, v_max, v_soft

- texture shift on the object: ping pong type
- can be set for individual textures
tex_id | texture IDs: 0 - diffuse #1 1 - diffuse #2 2 - diffuse #3
u_time, v_time | time of one shift there and back for u and v axes
u_min, u_max, v_min, v_max | shift interval for individual axes
u_soft, v_soft | direction change can be either smooth (curve) or hard (linear): 0 - 0 - hard change of direction 1 - soft change of direction

Wobble= AltX, AltY, AltX, SpeedX, SpeedY, SpeedZ

- this parameter makes it possibkle for objects to move around its pivot
- it is used mainly for plants
- recommended values can be for instance: 2.8, 3.1, 2.5 , 2.1, 1.6, 2.2
AltX, AltY, AltZ | wobble deflection in degrees
SpeedX, SpeedY, SpeedZ | wobble speed


Ocluder, Portal, Sector - MAX

Quad menu : properties / user defined

Ocluder= 1

- an object with this parameter is an occluding object for portals and render objects
- for instance, it can be used inside a sector in the walls

Portal= active_dist, half_dist, fade_dist, r, g, b

active_dist | distance from a portal to camera, to which it remains open
half_dist | distance from a portal to camera, to which only those objects are drawn that had been linked to the sector in 3DS MAX
fade_dist | distance from a portal to camera, in which the portal starts changing color, if set to 0, the portal is closed without changing color
r, g, b | color of the closed portal

Sector= 1

- an object with this parameter demarcates sector boundaries

Sub-entity - Ocluder
Sub-entity - Portal
Sub-entity - Sector


Physics - MAX

Quad menu : properties / user defined

For proper function of the physics module, it is necessary to fill in all the parameters.

Phy_density= val
- object density

Phy_moment= val
- inertia momentum

Phy_status= id
- the type of object's physical properties

id:
0 | object collides, it is not synchronized in multiplayer
1 | object collides, it is synchronized in multiplayer
2 | object does not collide with physical objects, collides with players and AI, it is synchronized
3 | object does not collide and it is not synchronized

Phy_weight= val
- object weight


Using PteroMaterial

PteroMaterial is a plugin for 3DS MAX 5.1 which makes it conveniently possible to assign objects materials with all kinds of information for PteroEngine II. In principle, this is an extension of standard texturing material.

Using texturing material
Using Collision Material


Using Collision Material

PteroCollision - properties

  1. Collision material - a library of materials used for collision type detection (for sounds etc.). The default material is set to A, but this should never remain for final models
  2. Grow - this is a one letter name of a directory in \[game directory]\levels\[map directory]\data\[sub-level directory]\grow
  3. Typ trávy - not supported yet!
... | opens the "browse" dialog for new path to the collision material database
r | reloads database

Using texturing material


Using texturing material

PteroMaterial - properties

  1. Used textures
    • 1 - switches texture No.1 on/off; this is the base texture
    • 2 - switches texture No.2 on/off, this is the high-detail texture
    • 3 - switches texture No.3 on/off, this is an overlay texture with alpha channel
    • L - toggles Lightmap on/off
    • M - toggles Environment on/off

  2. Transparency types
    • žádná - opaque
    • typ 0 - transparent, stored in Z-buffer, sorted
    • typ 1 - transparent, stored in Z-buffer, sorted, 2-bit Alpha channel
    • typ 2 - translucent, NOT stored in Z-buffer, sorted
    • typ 3 - transparent, stored in Z-buffer, NOT sorted, 2-bit Alpha channel
    • typ 4 - translucent, added to background, NOT stored in Z-buffer, sorted

  3. Using both sides for rendering

Textures No. 1, 3 and lightmap

E | toggles texture usage on/off
M | toggles distance-determined texture degradation (mipmaping)
U | toggles texture tiling along U axis
V | toggles texture tiling along V axis
Ch | mapping channel number (1-99)
i | cancels texture instance
u | cancels texture
r | reloads texture
s | toggles texture rendering on a model (on/off)
a | toggles texture's alpha channel rendering on a model (on/off)
t | toggles transparent texture rendering on a model (on/off)
  • note: the `s`, `a` and `t` buttons will work only if the "Show Map in Viewport" button of Material Editor is on ( [image] )

    • Texture No.2

    E | toggles texture usage on/off
M | toggles distance-determined texture degradation (mipmaping)
U | toggles texture tiling along U axis
V | toggles texture tiling along V axis
T | tile count (1-999)
Ch | mapping channel number (1-99)
i | cancels texture instance
u | cancels texture
r | reloads texture
s | toggles texture rendering on a model (on/off)
a | toggles texture's alpha channel rendering on a model (on/off)
t | toggles transparent texture rendering on a model (on/off)
  • note: the `s`, `a` and `t` buttons will work only if the "Show Map in Viewport" button of Material Editor is on ( [image] )

    • Environment map

    E | toggles texture usage on/off
M | toggles distance-determined texture degradation (mipmaping)
1 | standard use
2 | the map is applied according to its Alpha channel
Ch | mapping channel number (1-99)
i | cancels texture instance
u | cancels texture
r | reloads texture
s | toggles texture rendering on a model (on/off)
  • note: the `s` button will work only if the "Show Map in Viewport" button of Material Editor is on ( [image] )

    • Using Collision Material
    Bitmap requirements


Práce s editorem

BES Object Types

Creating a new Scene

Editor Panel Tabs

Finalizing Scene

Lighting and Fog

Special Object Types


Creating a new Scene

panel | : file / new scene
hotkey | : ctrl + n

Before you can create a new scene, you will need to create a new directory for that scene that will contain the *.bes files of terrain and sky.

\[game directory]\levels\

Also, you can immediately create the subdirectory Tex that will contain textures in *.dds, *.tga or *.bmp formats. When finalizing the scene, the textures should be converted into the *.dds format, with the exception of sky textures that can be left as *.bmp.

The data prepared in this way should look like this:

Additional files of 3D models can be stored in the Objects sub-directory.

Once all the necessary data are in place, you can start the New Scene Wizard.

Here, you select the directory you had created and enter the map name. The name for the data directory will be automatically created from the map name. This name can be later changed through Scene tab in the Editor panel.
In the next dialog, you select the files for terrain and sky from the list.

Once that is done, the basic scene has been created and can be modified further on.
The resulting directory structure for scene finalization can look something like this:

File naming conventions

scene terrain file | \[game directory]\levels\[map directory]\terrain_[jméno].bes
scene sky file | \[game directory]\levels\[map directory]\sky_[jméno].bes
scene initialization file | \[game directory]\levels\[map directory]\data\[sub-level directory]\level.ini
data bitmap | \[game directory]\levels\[map directory]\data\[sub-level directory]\level.tga
main script of the scene | \[game directory]\levels\[map directory]\data\[sub-level directory]\scripts\level.c

File location conventions

basic scene files | \[game directory]\levels\[map directory]
directory containing other geometry files | \[game directory]\levels\[map directory]\objects
directory containing all texture files | \[game directory]\levels\[map directory]\tex
data directory | \[game directory]\levels\[map directory]\data\[sub-level directory]
grow objects directory | \[game directory]\levels\[map directory]\data\[sub-level directory]\grow
scripts directory | \[game directory]\levels\[map directory]\data\[sub-level directory]\scripts
light map directory | \[game directory]\levels\[map directory]\data\[sub-level directory]\ldt

Scene Initialization Files
Database tab
Special Object Types


Lighting and Fog

Scene lighting

A scene can be lit in two ways:

1. Each sector in the scene contains its own settings for ambient and directional lights and fog.

2. Besides that, you can use Omni and Spot light objects

World sector is the basic component of every new scene.

Background lighting

The lighting of background is set in the properties of the Background Sector. Select this sector in the Select window (hotkey Home).

Backgroud Sector is automatically created in every new scene.

Basic properties in the Properties tab

Color click here to open the color selection dialog,
pressing Shift and right-clicking on a color acts as an eyedropper

Color | click here to open the color selection dialog, pressing Shift and right-clicking on a color acts as an eyedropper
Near | the distance from camera in which the fog begins
Far | the distance in which the fog ends
On | fog on/off switch

Light
Sub-entity - Sector


Scene Initialization Files

A scene draws some general info from two initialization files. These files are not necessary for proper function of neither graphic nor gameplay functions of a scene.

Bitmap Level.tga

path : \[game directory]\levels\[map directory]\data\[sub-level directory]\level.tga

This bitmap must be created in editor using Level Bitmap View tool.

menu : editor \ level bitmap view

After launching this tool, the scene is shown in the top view. The cursor keys move the scene, while +- keys zoom in/out. Position the whole scene within the view and zoom in as much as possible. After that you can save the bitmap (in the *.bmp format) and return back to editor by the same menu item.

menu | : | editor \ save level.bmp
hotkey | : | f1

After the bitmap has been exported, it is necessary to save the scene!

The texture needs to be processed in a bitmap processing program that supports the *.tga file format. The editor uses separate color channels, each of which has a different function.

The bitmap contains one pixel with RGB values of 255,255,255 which marks the absolute zero (the beginning) of the scene's coordinates system. This pixel has to be preserved even in the processed version of the bitmap! The bitmap can be cropped, but its scale has to remain unchanged!

An example of Level.tga:

Color components of Level.tga and their functions
green | Determines changes of visibility and fog in per cent. G=100 equals 100% visibility in editor, lower values decrease visibility, higher increase. Maximum value is 254.
blue | Determines index of rain area.

Level.ini initialization file

path : \[game directory]\levels\[map directory]\data\[sub-level directory]\level.ini

This file contains some other scene properties.

RAIN_visibility= dist
dist distance in meters
default = 10
recommended range = 5 to 15
no rain = 0

RAIN_density= val
val distance between raindrops
default = 1
recommended range = 1 to 5

RAIN_area= area_id, appear_up, around_tolerance, wind_x, wind_y, wind_rnd, speed, intensity, drop_len, drop_width, color_r, color_g, color_b, color_a
area_id | blue channel intensity of level.tga recommended range = 0 to 254
appear_up | this value determines how high above the camera the raindrops are generated light sky = cca 6 dark sky = cca 10
around_tolerance | amount of drop variance
wind_x, wind_y | wind direction along x and y axes recommended range = -0.08 to 0.08
wind_rnd | randomness of wind influence on individual raindrops recommended range = 0 to 0.1
speed | speed of raindrop fall default = 20
intensity | rain density count of raindrops per RAIN_density area unit
drop_len | raindrop length default= 1 recommended range = 0.5 to 1
drop_width | raindrop width default = 0.01
color_r, color_g, color_b | raindrop color default = 190, 190, 190
color_a | raindrop transparency default = 100

VIS_use= val
val on/off switch for green channel of level.tga determining visibility
0 = off
1 = on

VIS_ext= back, zmin, zmax
back | toggles use of the level.tga green channel for background visibility 0 = off 1 = on
zmin | lower limit for map usage 0 = use to negative infinity
zmax | upper limit for map usage 0 = use to positive infinity

WATER_fog= material_name, fog_r, fog_g, fog_b, fog_start, fog_end, backgrnd_fog_start, backgrnd_fog_end, max_water_depth
material_name | collision material name, e.g. HB for muddy surface
fog_r, fog_g, fog_b | fog color
fog_start | distance at which the fog starts
fog_end | distance at which the fog ends
backgrnd_fog_start | distance at which the background fog begins
backgrnd_fog_end | distance at which the background fog ends
max_water_depth | maximum depth of water

WATER_sound= material_name, sound
material_name | collision material name, e.g. HB for muddy surface
sound | sound ID 2205 = still water 2236 = running water

PL_noshoot_light= val
val this switch determines if the object will receive light from weapons
default = 0
0 = receives light
1 = doesn't receive

PL_shad= type, alpha
type | cast shadow type of a player default = 2 0 = none 1 = circular 2 = projected
alpha | shadow transparency range = 0 to 1


Associating objects with sectors - Associate

toolbar | : associate
klávesa | : a

The Associate function makes it possible to associate selected objects with sectors.
Select the objects you want to associate, activate the Associate function, and Left-Click anywhere in the sector.

The association can be also made in the Editor panel, Properties tab.

Selecting an object


Duplicating objects - Duplicate

toolbar | : duplicate selected
klávesa | : d

Duplicate function serves for duplication of selected objects in the scene.
Quick duplication is activated by the Middle Mouse Button (MMB).

When this function is active, the selected objects are copied by moving the mouse along X, Y and Z axes. By default, only movement along the X and Y axes is possible. Use the following keys to change axes or constrain movement:
Shift | X axis
Ctrl | Y axis
Shift + Ctrl | Z axis

Selecting an object


Linking objects

Linking

toolbar | : link at
klávesa | : p

The Link function allows for creation of hierarchies that can be useful e.g. for scene optimization.
After the Link function has been activated, selected objects can be linked to some other ones. The objects the have a child-parent relationship, where the child is the dependent object.

Each child can have only one parent object. This means that if you try to link one object to more parents, the engine will "remember" only the last linking action performed.

Unlinking

toolbar : unlink

The Unlink function cancels the Child -> Parent link.

Selecting an object


Navigating the camera in editor

Camera movement

Use cursor keys to move the camera.

The speed of camera movement can be set using NumPad +/- keys.

Camera rotation

Hold down the Right Mouse Button (RMB) to activate the camera rotation function. Move the mouse to rotate the camera around its axis.

Camera rotation - orbit

Hold down the Righ Mouse Button (RMB) and Alt key to activate the camera orbit function. When this function is activated the editor finds a point or an object at the intersection between camera direction and the window center, which then serves as the center of orbiting-rotation.


Object transformations

Move function

menu | : edit / transform / move
toolbar | : move selected
klávesa | : M

When the Move function is selected, it is activated by pressing and holding down the Left Mouse Button (LMB).

Then, it is possible to use the mouse to move an object along the x, y and z axes. By default, only movement along x and y axes is possible. To constrain the movement to one axis, press and hold down the following keys:
Shift | X axis
Ctrl | Y axis
Shift + Ctrl | Z axis

You can set speed of object movement in scene with keys 1 to 0.

The transformation (position) of selected objects can be also entered numerically in the Transform tab. The measurements are in meters.

Rotate function

menu | : edit / transform / rotate
toolbar | : rotate selected
klávesa | : R

When the Rotate function is selected, it is activated by pressing and holding down the Left Mouse Button (LMB).

Then, it is possible to use mouse movements to rotate selected objects along x, y and z axes. By default, you can rotate only around the z axis. In order to switch to another axis, use the following keys:
X | X axis
Y | Y axis
Z | Z axis

There are hotkeys for added functionality:
Ctrl | switches between rotation along a shared axis and individual axes
Shift | switches between using global and local axis for rotating
, | rotates the selected object 45° counter clock-wise (CCW) along the currently set axis, it is not necessary to have the Rotation function selected in order for this hotkey to work
. | rotates the selected object 45° clock-wise (CW) along the currently set axis, it is not necessary to have the Rotation function selected in order for this hotkey to work

Rotation of selected objects can be also entered numerically in the Transform tab. The measurements are in degrees.

Scale function

menu | : edit / transform / scale
toolbar | : scale selected
klávesa | : C

When the Scale function is selected, it is activated by pressing and holding down the Left Mouse Button (LMB).

After it has been activated, it is possible to alter the scale (size) of selected objects. You can scale either uniformly [image] (along all axes), or you can constrain the scaling operation to an individual axis. By default, uniform scale is applied. To constrain scaling to a certain axis, use the following keys:
U | uniform scale
X | X axis
Y | Y axis
Z | Z axis

The object scale can be also entered numerically in the Transform tab. Enter the values in per cent here.

Selecting an object


Placing objects - Parachute

toolbar | : parachute
klávesa | : t

The Parachute function is used to "drop" objects onto other objects in the scene.
The objects are "dropped" from the maximum height of the scene and fall down until they collide with the scene.

Landing selection group | selection of a named object group, if this is "none" the calculation is made for all the objects in the scene
Sink in | transformation of a placed object along the Z axis

Selection groups
Selecting an object


Placing objects - Place (a.k.a. "placeator")

toolbar | : placeator
klávesa | : o

The Place function is used for placing new objects into a scene.
When active, the Editor panel switches to the Place tab. After the parameters have been set, use the Left Mouse Button (LMB) to place objects into the scene.

Place tab


Ruler

toolbar | : ruler
panel | : help / ruler

This tool serves for measuring distances in the scene. Right-click to begin measuring and move to the destination. The measured distances are shown in the Help tab of the editor panel.

Draw pin all the time | causes the ruler to be functional even in the game mode
Dx, Dy, Dz | distance from the last measurement point along X,Y,Z axes
X, Y, Z | ruler location in the scene
SumDistance | sum of all measured distances
Clear SumDistance | clears the sum of measured distances


Selecting an object

Selected objects can be stored in a selection group with a unique name.
Use these groups in order to simplify and speed up your workflow.

Using mouse to select objects

toolbar | : select
klávesa | : S

When in Select mode, you can use Left Mouse Button (LMB) to select an object that you wish to edit.
Hold down and drag the mouse in window to select more objects simultaneously. This selects every object within the selection rectangle.

Quick selection using mouse

klávesa : `

The Quick selection function is turned on by pressing and holding down the "`" key. This function can be used without leaving the currently active editor mode. Use Left Mouse Button (LMB) to select object(s) you wish to edit.
Hold down and drag the mouse in window to select more objects simultaneously. This selects every object within the selection rectangle.

Select by name

menu | : edit / select dialog
klávesa | : HOME

For searching by name, you can use asterix (*) as wildcard character. When searching for object 'NJK_licuala01', you can use 'NJK_lic*' or simply '*licuala*'.

Selection groups


BES Object Types

panel : database / current level ( [image])
panel : database / package ( [image])

BES objects are created in and exported from 3DS MAX. They contain graphical data (geometry etc.) of a model.

It is possible to select BES objects only when the Entity/Subentity toggle [image] (hotkey Q) is off.

Basic properties in the Properties tab

Entity name object name shown in the editor

Clip Distance | distance within which the object is drawn (in meters)
Current | sets the current distance between the camera and the object center

Is Background | toggles object placement between scene and background, icon:
Bilboard XZ | object will rotate along X and Y axes to face the camera, icon:
Bilboard Z | object will rotate along Z axis to face the camera, icon:
No cut by visibility | object will be drawn even when out of the visibility limit (thi is set in the Scene tab)

Set/Add | opens the dialog for sector associations
Remove | remove the associations of selected sectors

Database tab
Sub-entity
Sub-entity - Ocluder
Sub-entity - Portal
Sub-entity - Sector


Sub-entity

ikona :

Sub-entity objects are components of a BES file.

It is possible to select Sub-entities only when the Entity/Sub-entity toggle [image] is on (hotkey Q).

Basic properties in the Properties tab

Clip Distance | distance within which the object is drawn (in meters)
Current | sets the current distance between the camera and the object center

Dirlight multiplier | directional light multiplier
Ambient multiplier | ambient light multiplier
Apply SHM shadow | aplly shadow tree data to the object
Compute LM | compute lightmaps for the object
LM density | level of lightmap detail for individual LOD (Level of Detail) objects, the number denotes polygon count per texture
No smooth | do not apply smoothing to lightmap textures
Cast shadow | object casts shadows
Intensity | cast shadow intensity
Cast SHM shadow | object is taken into shadow tree calculation
For LM comp only | the object serves only for LM calculation, i.e. it isn't drawn in the game
Dynamic object | dynamic/static object switch

Object occludding design shape use for "hide" calculation (an object can be hidden out of a portal or behind an occluder)

"Particled" shape is a rectangle that always rotates to face a camera and always occludes the whole object.

"Boxed" shape is a cubic boundig box. This shape returns more accurate, but slower calculation.

Set/Add | opens the sector association dialog
Remove | removes the associations for selected sectors

List | list of distances for LOD (Level of Detail) objects switching, edit distances by double-clicking on the numbers (LMB)
Show selected LOD | switches drawing of the selected LOD only - functional in editor only
Last LOD alpha | switch for the last LOD to disappear into transparency

Dist | distance for LOD switching, if you want the last LOD not to disappear, enter -1
Set current | sets the current distance between camera and the object center

BES


Sub-entity - Ocluder

ikona :

Ocluder serves for hiding (occluding) portals and render objects. It is used e.g. inside a sector for walls etc.

This object has no editable properties.

BES
Sub-entity - Portal
Sub-entity - Sector


Sub-entity - Portal

ikona :

Portal serves for passage between sectors and for visibility setting of objects associated with these sectors.

Each portal has to have its double. If a portal leads into the world sector, the double is created automatically.

Basic properties in the Properties tab

Closing dist. | distance from camera in which the portale "closes"
Current | sets the current distance between camera and the object center
Items visibility | distance between camera and portal - when exceeded, only the objects linked to the sector in 3DS MAX are drawn.
Current | sets the current distance between camera and the object center
Fading dist. | distance between camera and portal where the portal color begins to fade
Current | sets the current distance between camera and the object center
Portal color | portal color fade switch
R, G, B | portal color, click on color to open the color selection dialog Holding down Shift and right-clicking on a color acts as an eyedropeer
Copy doubler's props | sets the values identical to the portal's double

Portal | double's name
Change to | sets selection to the double
Select into | selects both portals

BES
Sub-entity - Ocluder
Sub-entity - Sector


Sub-entity - Sector

menu | : | edit \ select \ current sector
hotkey | : | e
icon | : |

Sector is a restricted space that demarcates a part of the scene. It serves optimization purposes.

The passage between sectors is made possible by the Portals. The Portals also determine which objects associated with individual sectors should be drawn.

The current sector (i.e. the one in which the camera is currently located) can be selected by pressing E. The information regarding the current sector is listed on the right hand side of the status line.

Each scene contains at least two basic sectors - World and Background.

Basic properties in the Properties dialog

Color | click on color to open the color selection dialog, holding down Shift and right-clicking on a color acts as an eyedropeer
On | switch for usage of ambient light

Color | click on color to open the color selection dialog, holding down Shift and right-clicking on a color acts as an eyedropeer
Direction | direction of light in radians
From camera | sets the light direction according to current camera orientation
Invert | inverts the direction of light
On | switch for usage of directional light

Color | click on color to open the color selection dialog, holding down Shift and right-clicking on a color acts as an eyedropeer
Near | near clipping distance for fog (i.e. where fog starts)
Far | vzdálenost do které se aplikuje mlha
On | fog draw on/off toggle

BES
Sub-entity - Ocluder
Sub-entity - Portal


Database tab

menu | : view \ editor panel \ database
panel | : database
klávesa | : k

This tab is used for inserting objects into the scene.

The list is divided into three parts:
- current level: contains model files of the current scene
- special objects: special objects library
- package: files of models from Vietcong

The model database is not updated automatically, except for its "Current level" part, which is automatically updated evrey time the scene is opened. Update the database by clicking on "Refresh".
Clicking on "Rebuild TexDB" updates the texture database. This database needs to be updated everytime a texture file has been added.

Models can be inserted into the scene by double-clicking on a file in the database, by pressing Enter or from contextual menu opened by Right Mouse Button(RMB) click.

If you want to exchange an existing model in the scene for some other from the database, or all models of one kind, do so by selecting the object and opening the contextual menu using Right Mouse Button click.

Special Object Types


Place tab

panel : place

This tab sets parameters for the Place function ("Placeator").

New | create new group
Delete | delete the current group

All | select all objects in the list
None | cancels selection
Invert | inverts the selection in the list
Add | opens the dialog for adding objects to a group
Remove | deletes an object from the list

Low | minimum distance of an object placed by dragging the mouse
High | maximum distance of an object placed by dragging the mouse
Icon scale | cursor size, 1 = 100%
z-axis | objects are always left standing erect
face normal | objects will be rotated to accomodate the normal of the face they are on

X, Y, Z | rotation along individual axes
Rand | switches random rotation between the extremes of -n to +n

X, Y, Z | scale along individual axes
Uni | uniform scale
Rand | switches random scale between the extremes of -n to +n

X, Y, Z | transform along Z axis
Rand | switches random transformation between the extremes of -n to +n

Set default | sets default properties of the placed objects
From selected | sets properties of the placed objects according to the selected sub-entity

Placing objects - Place (a.k.a. "placeator")


Properties tab

panel | : properties
klávesa | : enter

This tab contains editable information on objects in the scene.

BES Object Types
Special Object Types


Scene tab

panel : scene

This tab contains the basic settings for a scene.

Distance | "far" clipping distance (visibility) of a camera in the scene
Sub-level name | name of the directory that holds data for the scene \[game directory]\levels\[map dir]\data\[sub-level name]
Scene note | a note that is displayed in a dialog box on opening the scene


Transform tab

panel : transform

In this tab, you can enter numerical values for object transformations.

Object transformations


Help tab

panel : help

This tab contains additional useful tools.

The Selection groups sub-group is used for storing of selection groups for later use.
The Ruler sub-group serves as an info tab for the Ruler tool.
HW Lighting Info sub-group shows how many lights light the selected object.

How to use lights
Ruler
Selection groups


How to use lights

panel : help / hw lighting info

This tool is used to trace the number of static and dynamic lights that light the selected object.
Ptero-Engine II does not support SW lighting, i.e. it needs to use a video card with HW lighting support. A single object can be lit by the maximum of 8 lights at a time. The static lights are drawn with higher priority. Because of this, it might happen that in a scene lit with a large number of static lights, a flashlight does not work in certain locations. This tool serves to track down the objects that might be lit by too many lights and fix the problem.

Static | number of static lights lighting the selected object
Dynamic | number of dynamic lights lighting the selected object
Select static lights | selects all the static lights that shed light on the selected object

Special object - Light


Selection Groups

panel : help / selection groups

Selected objects can be stored in a group with a unique name.
Use these groups in order to simplify and speed up your workflow.

Create | creates a group from the selected objects
Overwrite | overwrites the existing group with the currently selected objects
Delete | deletes a group
Select | selects all objects belonging to a group
Add to selected | adds the objects belonging to the group to the current selection

Placing objects - Place (a.k.a. "placeator")
Placing objects - Parachute
Selecting an object


LMs (Lightmaps) tab

panel : lms

This tool serves for lightmap and shadow tree calculations.

Regenerate | refreshes the data for lightmaps
Compute selected | opens the dialog for lightmap calculations for selected objects
Compute all | opens the dialog for lightmap calculation for the entire scene
Delete selected | deletes lightmaps of selected objects
Delete all | deletes lightmaps of all objects in the scene
Export | opens the settings dialog for shadow tree calculation for the entire scene
Export selected | opens the settings dialog for shadow tree calculation for selected objects
Save obstacles | saves *.obs file for selected objects. *.obs files contain information for shadow casting or demarcate area for shadow tree for later use
Update grow.dat | if the scene has "grow" type objects in it, use this button to recalculate their lighting

Shadow tree calculation
Lightmap calculation


Lightmap calculation

Lightmap is actually a texture that is applied to a model. This texture is calculated from direction, intensity and course of light rays in the scene.
The lightmap data are stored in *.ldt files.

Here, you can see an example of a lightmap (the helicopter shadow) applied to the terrain.

An example of a scene with lightmaps.

An example of a scene without lightmaps.

The path to the *.ldt files is as follows:

\[game directory]\levels\[map dir]\data\[sub-level dir]\ldt

Lightmaps can be also used to decrease the number of lights litghting an object. This is because all static lights that influence the lighting of an object are not applied to it anymore when it has a lightmap assigned. Thus only dynamic lighting is calculated during the game (for that object).

Settings dialog for lightmap calculation

panel | : lms / compute selected
panel | : lms / compute all

Load Obstacles | loads the *.obs data file containing info regarding shadow casting objects, if there is no such file, the calculation takes into account all objects in the scene
Global size multiplier | map level of detail multiplier the recommended value is between 0.5-1
Vertex | distance tolerance which determines whether two adjacent triangles' border points share the same location if the lightmap calculation on an edge between two triangles seems incorrect, it is recommended to increase this value, say to 0.05
Normal | tolerance (of difference) between two normals of adjacent triangles used to determine whether the two triangles are in the same plane if the lightmap calculation on two adjacent triangles seems incorrect, it is reccommended to increase this value, say to 0.1
Don't divide groups | this switch determines whether adjacent triangles that are in the same plane should be taken into calculation as a single polygon or separately
Reverse casting | this switch determines whether triangles should be treated as one-sided or two-sided in the calculation
Minimal side size | minimal size of the rectangle side on the light map in pixels if the lightmaps seem blurred on large triangles, it is recommended to increase this value

Sub-entity
LMs (Lightmaps) tab


Shadow tree calculation

Shadow tree is an auxiliary grid positioned in the 3D space around the scene or its selected part. Each cell contains information regarding light intensity including cast shadows. This information is then used for dynamic object lighting calculation. Dynamic objects include characters, weapons, "grow" type objects etc.

The path to the *.shm file is as follows:

\[game directory]\levels\[map dir]\data\[sub-level dir]\ldt

Settings dialog for shadow tree calculation

panel | : lms / export
panel | : lms / export selected

Density | grid density along all three axes in meters
Density X | grid density along x axis only in meters; this needs to be activated with the checkbox next to the number
Density Y | grid density along y axis only in meters; this needs to be activated with the checkbox next to the number
Density Z | grid density along z axis only in meters; this needs to be activated with the checkbox next to the number
Reverse casting | this toggle determines whether triangles are taken into calculation as one sided or two sided
Draw progress on screen | draws calculation of individual layers in real time
X res. | resolution along x axis
Y res. | resolution along y axis
Z res. | resolution along z axis
Required memory | estimated memory usage for the calculation

How to use lights
Sub-entity
LMs (Lightmaps) tab


Finalizing Scene

menu : file / finalize mp mission

This function performs all the tasks necessary to finalize a scene. Before it can be run, you must enter at least one type of MP game.
If the engine doesn't find the level.c and sound.c files in:
\levels\[map dir]\data\[sub-level dir]\scripts\,
the basic sripts are used.

The data of a scene created in this way consist of two files:

[scene_name].cbf
[scene_name].dat

Vietcong searches for these files in the \maps\ directory.

Both files must be stored here.

You can test these multilplayer game data with more players, who have installed the same version of the editor.
The game can by executed via:

menu : game / game menu

If you will be starting the server, your scene should be shown in the list.

How to define an MP game


How to define an MP game

menu : editor / multiplayer game editor

MP game editor

Use this editor to set the name of the game and its types. You MUST enter this information in order to be able to create a final MP game pack.

Game name | the name that is shown in the list of MP games
Game types | types of games that can be played in this scene
Modify | opens the dialog for editing of the selected game type
Delete | deletes the selected game type from the list
New | opens the dialog for creating a new game type
Preview | automatically generated preview

MP game type editor

This editor serves for creation or modification of MP game types.

Game type name | game type name
Game type description | general description of the game type
Game type US description | game type description for the U.S. side
Game type VC description | game type description for the VC side
Maximum num. players | maximum number of players
Script type | select script according to the game type
Script file | Location of the script file
Time | ...
Points | ...
Frags | ...

Multiplayer mode list


Special Object Types

menu : entities / create
panel : database / special objects

Special objects are used for fine-tuning the scene. These objects are added in the Editor and possess special properties.

Editor supports the following types of special objects:
Dummy helper object used for scene optimization, scripts etc.
Event object (trigger) for graphic and sound effects
Fauna adds fauna to the scene
Level item used for placing of various items that can be picked up by a player, such as weapons
Light omni-directional light and spotlight
MP Helper helper object for MP game, used for adding flags, ammo crates etc.
North star
Player helper object used for placement of scripted characters in SP and MP coop games
Recovery point recovery points for MP game players
Script helper helper object used by a script
Sound switch sound system helper object which determines places where sound settings are changed (e.g. for EAX)
Spectator camera spectator camera for MP game
Way point helper object for AI pathfinding in SP and MP cooperative game

Note:
SP - single player game
MP - multiplayer

Objects database


Special Object - Dummy

menu : entities / create / dummy
panel : database / special objects / dummy ( [image])

Dummy is an auxiliary object used for scene optimization, scripts and other purposes.

When an object is linked to a dummy near it, the object tree search is faster, thus the game itself performs better. A dummy has a variable called "clip distance" which determines the distance from which the dummy and its children are not drawn anymore.

The editor also supports Hierarchy Dummy object type. This is a dummy object, created in the center of the current (multiple) selection bounding box. The currently selected objects are then automatically linked to it. The tab in the editor panel is then switched to Properties so that the clip distance can be set.

Hierarchy Dummy can be also created using INSERT hotkey.

Example:

In this example, all of the objects linked to the Hierarchy dummy cease to be drawn as soon as the distance between the camera and the dummy center exceeds 50m.

Basic properties in the Properties tab

Entity name object name shown in the editor

Clip Distance | distance in meters to which an object is drawn (it isn't drawn any further)
Current | sets the current distance between the camera and the object center

Special Object Types
Objects database


Special Object - Event

menu : entities / create / event
panel : database / special objects / event ( [image])

Event serves for launching audio and visual effects. A single event can only launch one type of effect - either audio or visual.

Basic properties in the Properties tab

Entity name name of object shown in the editor

Clip Distance | distance in meters to which object is drawn (it isn't drawn any further)
Current | sets the current distance of the camera from the object center

Fill in the effect ID next to its type.
Currently, Flare objects are not supported.
Sound: Select opens the dialog in which sounds can be selected

Seznam Sound groups obsahuje skupiny zvuků a Sounds jednotlivé zvuky ve vybrané skupině.

Sound: Effect opens the dialog in which visual effects can be selected

The important thing here is the selection of an effect. The list of sub-effects serves only informative purposes.

The timing of the effect can be set in the following ways:
Signal | the effect is launched only by script
Effect interval | basic effect settings
Defined | user-defined settings

Special Object Types
Objects database


Special Object - Fauna

Speciální objekt - Fauna

menu : entities / create / fauna
panel : database / special objects / fauna ( [image])

Fauna object makes it possible to insert insects and animals into the scene. One Fauna object can contain several kinds of insect/fauna species.
All species (except insects) react to player/AI movement/proximity.
Birds constitute a special sub-type. They are initialized only when an alarm occurs nearby.

Supported fauna species
Insects | Butterfly, Dragonfly, Wasp, Fly
Poultry | Duck, Hen
Small animals | Frog, Rat
Large animals | Buffalo
Birds | Parrot, Dove

Basic properties in the Properties tab

Entity name object name shown in the editor

Clip Distance | distance in meters to which the object is drawn
Current | sets the current distance between the camera and the object center

Add | opens the fauna type selection dialog
Remove | removes the selected type of fauna
Create radius | distance in metres from the center of the Fauna object, in which the animals/insects are created. They do not move out of this radius either.
Count | the number of instances to create
Upper hemi. only | insects remain only within the upper hemisphere of the sphere around the Fauna object
Do not collide | insects do not use collision tree to calculate their movement
Max flying height | maximum height for insects to fly
AI makes alert | AI causes animals to become alert
Step over radius | maximum distance from the Fauna object center, to which the animals can stray in "panic" mode
Predator radius | radius within which a player/AI can cause animals to panic
Shot radius | radius within which shots of player/AI can cause animals to panic
Respawn time | time to elapse before Birds can be startled again

Special Object Types
Objects database


Special Object - Level Item

menu : entities / create / level item
panel : database / special objects / level item ( [image])

Level Item Object allows for placement of objects players can interact with. They are the objects that a player can pick up or use.

Normally, only the object icon is drawn. To display the actual object model, go to:

menu: view / draw / level item beses

Basic properties in the Properties tab

Entity name object name shown in the editor

Clip Distance | distance in meters within which the object is drawn
Current | sets the current distance between camera and the object center

Weapons | weapons which a player can pick up or drop during the game
Ammo | ammunition which a player can pick up or drop during the game
Intel | special objects which a player can pick up and examine

Special Object Types
Objects database


Special object - Light

menu : entities / create / light
panel : database / special objects / light ( [image])

Editor uses two types of lights - Omni and Spot. Both types are static, which means all of their settings and transformations remain constant during the game.

A single object can be lit only by the maximum of 8 light sources. This number also includes dynamic lights and sector light settings.

Omni light radiates its rays from a point source to all directions.

Spot light casts a cone of light.

Basic properties in the Properties tab

Entity name object name shown in the editor

Clip Distance | distance in meters within which the object is drawn
Current | sets the current distance between camera and the object center

Disable light | switches the light on/off
Light color | click here to open the color selection dialog, pressing Shift and right-clicking on a color acts as an eyedropper

Radius | ray length
Const. attenuation | constant multiplier
Linear attenuation | multiplier, value of which approximates zero with increasing distance
Both multipliers add up.

Inner angle | inner angle of the spotlight, within which the light is cast with constant intensity
Outer angle | outer angle of the spotlight - the light brightness gradually diminishes toward the cone edges

Shadows | switches shadow calculation according to lights
Realtime shadows | not supported yet
SHM shadows | switch for shadow tree calculation for players and dynamic objects
Use sector affiliation | turns association of lights with sectors on/off, If the light is not associated with any sector or if this switch is off, the light affects all sectors

Set/Add | opens the dialog for sector association
Remove | cancels associations with selected sectors

How to use lights
Scene lighting
Special Object Types
Objects database


Special Object - MP helper

menu : entities / create / mp helper
panel : database / special objects / mp helper ( [image])

MP helper is an object used for placement of MP gameplay elements.

Basic properties in the Properties tab

Entity name object name shown in the editor

Clip Distance | distance in meters within which the object is drawn
Current | sets the current distance between camera and the object center

Mode | multiplayer game mode
Item | gameplay elements of individual modes

Gameplay elements list
 | ATG Bombing - it is necessary to use all of the elements
bombplace | the place where the bomb must be planted
c4 | this object must be placed in the location, where the bomb will be planted
 | ATG Pilot
Landing zone | the location where the pilot must make it alive
 | CTF
Ammo box | ammo can be replenished here
Flag US | the place to be captured by VC soldiers
Flag VC | the place to be captured by U.S. soldiers
 | DM
Bedna 1 | the place where weapons are inserted when editing an MP game
Bedna 2 | the place where weapons are inserted when editing an MP game
 | RW
Ammo box | ammo can be replenished here
Flag villageA, ..., Flag villageF | places to be captured
 | TT
Flag 1, ..., Flag 5 | a place where players can respawn after they had captured it
Flag final | the place a team must capture

Multiplayer mode list
Special Object Types
Objects database


Special Object - North Star

menu : entities / create / north star
panel : database / special objects / north star ( [image])

An auxiliary (helper) object which serves for setting cardinal points of the scene. This object has no editable properties.

Special Object Types
Objects database


Special Object - Player

menu : entities / create / player
panel : database / special objects / player ( [image])

Player Object is used for player placement into a scene of MP or SP game modes.

Conventional location of player script files

Conventional location of player script files:

\[game directory]\levels\[map dir]\data\[sub-level dir]\scripts

Player scripts for cooperative MP game are located at:

\[game directory]\levels\[map dir]\data\[sub-level dir]\scripts\coop

Basic properties in the Properties tab

Entity name object name shown in the editor

Script | opens dialog for player script search/selection
Set default script | sets the basic script for a player

Special Object - Recovery point
Special Object Types
Objects database


Special Object - Recovery Point

menu : entities / create / recovery point
panel : database / special objects / recovery point ( [image])

Recovery point is used to set the respawn locations of players in MP maps. It is a place where a player is inserted, either in the beginning of the game, or after a certain amount of time has elapsed. The maximum number of Recovery Points of a single mode (type) is 64. US ATG Pilot and US Coop modes are exceptions - the Pilot can be inserted into the map only at one location, while US Coop can use maximum of 6 Recovery Points.

The icon color depends on the game mode for which the recovery point is set.

Basic modes of Recovery Points
 | ATG
US ATG | location for insertion of US soldiers
US ATG Pilot | location for US Pilot insertion there can be only one RP of this type (mode) in a map
VC ATG | location for insertion of VC soldiers
 | CooP
US Coop | recovery points for US soldiers there can be only six RPs of this type in a map
 | CTF
US Flag | recovery points for US soldiers
VC Flag | recovery points for VC soldiers
 | DM, LMS, TDM
DM | Insertion location for players
 | RW
US RW | recovery points for US soldiers
VC RW | recovery points for VC soldiers
WA - WF | recovery points for soldiers of the team that captured the corresponding flag

Basic properties in the Properties tab

Entity name object name shown in the editor

Mode | recovery point modes depending on the game type
Number of rec. points | the total number of all recovery points of the same type as the one currently selected
Select | selects all recovery points of the same type as the one currently selected

Multiplayer mode list
Special Object Types
Objects database


Special Object - Sound Switch

menu : entities / create / sound switch
panel : database / special objects / sound switch ( [image])

Sound switch serves for switching or resetting sound settings on collision with a camera. The parameters that can be changed include the type of walk noise, colliding dynamic objects and EAX settings. Sound switch is an oriented sphere; its positive hemisphere is marked with an arrow.

Basic properties in the Properties tab

Entity name object name shown in the editor

Env1 | opens the environmental presets selection dialog for the positive hemisphere
Env2 | opens the environmental presets selection dialog for the negative hemisphere, or the central plane of the sphere
Eax rad. | radius of the sphere used for EAX params gradual change (interpolation)
Entire sphere interpolation | switches between the entire sphere or only its positive hemisphere (from central plane) for EAX params interpolation

Create new | create new preset
Delete | delete the selected preset
Name | name of the preset
EAX id | predefined EAX number
Env. sound volume | sets the preset volume

EAX - sets the spatial characteristics of a sound

Special Object Types
Objects database
EAX presets


Special Object - Spectator Camera

menu : entities / create / spectator camera
panel : database / special objects / spectator camera ( [image])

This objects defines location from where a spectator can watch the game.

Basic properties in the Properties dialog

Entity name object name shown in the editor

Mode multiplayer game mode

Text ID: text ID number
if TextID=0, the Entity name is taken for text

Text ID list
 | ATG
5086 | bombplace
5087 | landing zone
5088 | central
 | CTF
5073 | vc side
5074 | u.s. side
 | RW
5075 | flag 1
5076 | flag 2
 | TT
5089 | camera 1
5090 | camera 2

Multiplayer mode list
Special Object Types
Objects database


Special Object - Way Point

menu : entities / create / way point
panel : database / special objects / way point ( [image])
panel : place / !waypoint

Way point is a helper object used by the Artificial Intelligence (AI). Way points are used in SP and MP coop games to mark passages for AI characters.

Way points can be either inserted from a database or using Placement tool ("Placeator" - hotkey O).

It is necessary to connect the way points. For this, use the Link at function (hotkey P). If you wish to make a one-way link, hold down Shift while linking.

Maximum number of way points in a scene is 2500.

Here, the upper two way points have one-way connection in the clock-wise direction, while the lower two have two-way links with the one in the middle.
The two way points in the back are set to "No Shortcuts", while the one in the middle is set to be a "HideOut".

Basic properties in the Properties tab

Entity name object name shown in the editor

No shortcuts | AI must pass through this way point
HideOut | AI can hide here

Special Object Types
Objects database
Placeator